home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 August / SAN CD 8-2007 CD-ROM 27.iso / pc / Media / Virtual Planetarium.swf / scripts / frame_1 / DoAction.as
Encoding:
Text File  |  2007-06-14  |  3.6 KB  |  146 lines

  1. fscommand(allowscale,false);
  2. fscommand(showmenu,false);
  3. fscommand(fullscreen,false);
  4. var iC = 0;
  5. var bS = false;
  6. var i_ID = 0;
  7. var i_SID = 0;
  8. var i_ANGLE = 0;
  9. var s_NAME = null;
  10. var i_FRICT = 0.15;
  11. var i_START = -2;
  12. var oPOINT = new Object();
  13. var oSTAR = new Object();
  14. var bFADE = false;
  15. var a_STARDATA = new Array();
  16. var o_CHILDNODE = new Object();
  17. var oXML = new XML();
  18. oXML.ignoreWhite = true;
  19. oXML.onLoad = function(bOK)
  20. {
  21.    if(bOK)
  22.    {
  23.       for(i in this.firstChild.childNodes)
  24.       {
  25.          a_STARDATA[i] = new Array();
  26.          o_CHILDNODE = this.firstChild.childNodes[i];
  27.          a_STARDATA[i][0] = o_CHILDNODE.childNodes[0].firstChild.nodeValue;
  28.          a_STARDATA[i][1] = o_CHILDNODE.childNodes[1].firstChild.nodeValue;
  29.          a_STARDATA[i][2] = "";
  30.          for(j in o_CHILDNODE.childNodes[2].childNodes)
  31.          {
  32.             a_STARDATA[i][2] = parseSTR(o_CHILDNODE.childNodes[2].childNodes[j].firstChild.nodeValue) add "\n" add a_STARDATA[i][2];
  33.          }
  34.       }
  35.    }
  36. };
  37. parseSTR = function(sSTR)
  38. {
  39.    var _loc1_ = new Array();
  40.    _loc1_ = sSTR.split(",");
  41.    _loc1_[0] += " ";
  42.    if(_loc1_[1].length > 0)
  43.    {
  44.       _loc1_[1] = "RA " + _loc1_[1] + " ";
  45.    }
  46.    else
  47.    {
  48.       _loc1_[1] = "";
  49.    }
  50.    if(_loc1_[2].length > 0)
  51.    {
  52.       _loc1_[2] = "dec." + _loc1_[2] + " ";
  53.    }
  54.    else
  55.    {
  56.       _loc1_[2] = "";
  57.    }
  58.    if(_loc1_[3].length > 0)
  59.    {
  60.       _loc1_[3] = "mag." + _loc1_[3] + " ";
  61.    }
  62.    else
  63.    {
  64.       _loc1_[3] = "";
  65.    }
  66.    sSTR = _loc1_[0] + _loc1_[1] + _loc1_[2] + _loc1_[3];
  67.    return sSTR;
  68. };
  69. oXML.load("RES/Virtual Planetarium/data.xml");
  70. getStarData = function(i_ID)
  71. {
  72.    STARNAME = a_STARDATA[i_ID - 1][0];
  73.    CONSTNAME = a_STARDATA[i_ID - 1][1];
  74.    if(a_STARDATA[i_ID - 1][2] != undefined)
  75.    {
  76.       COORDS = a_STARDATA[i_ID - 1][2];
  77.    }
  78.    MCIMG._visible = 0;
  79. };
  80. var bLASTSPKID = false;
  81. showSpeaker = function(b_SPKID)
  82. {
  83.    if(bLASTSPKID != b_SPKID)
  84.    {
  85.       bFADE = true;
  86.       PATMAN.isForw = b_SPKID;
  87.       CHRISMAN.isForw = !b_SPKID;
  88.       bLASTSPKID = b_SPKID;
  89.    }
  90. };
  91. showStar = function(i_SID)
  92. {
  93.    if(i_SID == -1)
  94.    {
  95.       i_ID = !(iC < a_STARDATA.length && iC > 0) ? (iC = 1) : (iC += 1);
  96.    }
  97.    else
  98.    {
  99.       MCQUE.gotoAndPlay("Q" + i_SID);
  100.       i_ID = i_SID;
  101.       i_SID -= 1;
  102.       iC += i_SID - iC;
  103.    }
  104.    oSTAR = eval("MCGLOBE.S" + i_ID);
  105.    oPOINT.w = oSTAR._width;
  106.    getStarData(i_ID);
  107.    i_START = 90;
  108.    PP = "Pause";
  109.    bS = false;
  110. };
  111. repStar = function(i_SID)
  112. {
  113.    oSTAR = eval("MCGLOBE.S" + i_SID);
  114.    oPOINT.w = oSTAR._width;
  115.    getStarData(i_SID);
  116. };
  117. this.onEnterFrame = function()
  118. {
  119.    oPOINT.x = oSTAR._x;
  120.    oPOINT.y = oSTAR._y;
  121.    MCGLOBE.localToGlobal(oPOINT);
  122.    i_ANGLE = Math.atan2(Math.round(MCGLOBE._y - oPOINT.y),Math.round(MCGLOBE._x - oPOINT.x)) / 0.017453292519943295 + i_START;
  123.    i_ANGLE = !isNaN(i_ANGLE) ? i_ANGLE : i_START;
  124.    MCGLOBE._rotation += (- i_ANGLE) * i_FRICT;
  125.    MCTARG._y -= (MCTARG._y - oPOINT.y) * i_FRICT / 1.2;
  126.    MCTARG._height = MCTARG._width += (oPOINT.w - MCTARG._width) * i_FRICT;
  127.    var _loc3_ = MCTARG._x;
  128.    var _loc2_ = MCTARG._y;
  129.    var _loc1_ = MCTARG._height / 2;
  130.    MCTL._x = _loc3_ - _loc1_ - 10;
  131.    MCTR._x = _loc3_ + _loc1_ + 10;
  132.    MCTT._y = _loc2_ - _loc1_ - 10;
  133.    MCTB._y = _loc2_ + _loc1_ + 10;
  134.    MCTL._y = MCTR._y = _loc2_;
  135.    BEARING = String(Math.round(MCGLOBE._rotation + 180) - 1) + "¬∫";
  136.    updateAfterEvent();
  137. };
  138. MovieClip.prototype.playDir = function()
  139. {
  140.    if(bFADE)
  141.    {
  142.       bDir = !this.isForw ? -1 : 1;
  143.       this.gotoAndStop(this._currentframe + bDir);
  144.    }
  145. };
  146.